#include <opencv2/highgui.hpp>
#include <iostream>
#include <string>
#include "frequency_filter.hpp"
using namespace std;


int main(int argc, char const *argv[])
{
	string filename = "../images/blown_ic.tif";
	string filename_1 = "../images/barbara.tif";
	string filename_2 = "../images/Lenna.png";
	string filename_3 = "../images/PET_image.tif";
	string filename_4 = "../images/characters_test_pattern.tif";

	auto icImage = cv::imread(filename, 0);
	auto barImage = cv::imread(filename_1, 0);
	auto lennaImage = cv::imread(filename_2, 0);
	auto PETImage = cv::imread(filename_3, 0);
	auto CharactersImage = cv::imread(filename_4, 0);

	frequencyfilter::frequencyFiltering * f = new frequencyfilter::frequencyFiltering(CharactersImage);
	//f->fourierTransform();
	//f->inverseFourierTransform();

	/*f->idealLowPassFilter(50);
	f->butterworthLowPassFilter(50, 3);
	f->guassLowPassFilter(30);*/
	f->idealHighPassFilter(160);
	//f->butterworthHighPassFilter(60,3);
	//f->guassHighPassFilter(30);
	//f->homomorphicFilter();

	cv::waitKey(0);
	return 0;
}